Git - Remote
learningitbranching 튜토리얼을 해보면서 그동안 한번씩 겪었던 문제들을 해결하는 방법과 기타 세세한 사용방법까지 알게되어 정리하는 글입니다. 한번 꼭 해보세요. git에 관련된 최고의 튜토리얼이였습니다.
이전 포스트:
Git 개념
Git - Local
1. 원격저장소/브랜치명
<원격 저장소명>/<브랜치명>
은 원격 저장소를 clone하거나 로컬저장소를 원격에 올렸을 때, 로컬에 생기게 되는 원격에 대한 참조 값입니다. 원격 저장소명은 로컬과 원격을 연결할 때 임의로 지을 수 있지만, 보통은 original이라는 네이밍을 많이 사용합니다.
2. fetch
- 명령어:
git fetch
원격 저장소와 로컬 저장소의 전체 형상을 맞춥니다. 원격 저장소에 새로 생긴 커밋들을 다운받고 로컬저장소에서 가지고 있는 원격에 대한 브랜치 참조를 업데이트합니다.
3. pull
- 명령어:
git pull
git fetch
+git merge <원격 저장소명>/<브랜치명>
을 한번에 하는 명령어입니다.
rebase를 하고싶다면, git pull --rebase
를 사용하면 됩니다.
4. fakeTeamwork
- 명령어:
git fakeTeamwork (숫자)
원격 저장소에 숫자만큼의 가짜 커밋을 생성합니다.
5. push
- 명령아:
git push
현재 브랜치에 있는 커밋들을 원격으로 업로드합니다.
6. 기타
-
git checkout -b foo original/main
<원격저장소>/<브랜치>
가 위치한 곳에 foo라는 브랜치를 생성하고 HEAD 포인트를 foo로 옮깁니다. -
git branch -u original/main foo
<원격저장소>/<브랜치>
와 연결된 리모트 브랜치를 foo 브랜치와 연결시킵니다. foo 브랜치를 push하게되면 원격저장소의 main 브랜치에 반영됩니다. -
git push origin <source>:<destination>
source(로컬) 브랜치를 destination(리모트)브랜치에 push합니다. (destination은 생략할 수 있습니다.) -
git fetch origin <source>:<destination>
source(리모트) 브랜치를 destination(로컬) 브랜치에 fetch 합니다. (destination은 생략할 수 있습니다.). 특정 브랜치만을 로컬과 동기화할 때 유용합니다. -
git push origin :<destination>
리모트 브랜치(destination)을 리모트에서 삭제합니다. (삭제된 브랜치가 가지고있었던 커밋들 중<원격저장소>/<브랜치>
에서만 가리키고 있는게 있다면 이것까지 로컬에서 삭제됩니다.) -
git fetch origin :<destination>
로컬 브랜치(destination)을 로컬에 생성합니다. (리모트에는 어떤 영향도 없습니다.)